RSI + ADX + ATR 18-01-25Combining RSI (Relative Strength Index), ADX (Average Directional Index), and ATR (Average True Range) creates a synergistic approach to technical analysis. This powerful trio covers momentum, trend strength, and volatility, providing comprehensive insights into market conditions. Here's a deeper exploration of their combined results:
1. Momentum Assessment with RSI
Purpose: RSI measures the speed and magnitude of recent price changes to determine overbought or oversold levels.
Benefit in Combination:
When RSI indicates overbought (above 70) or oversold (below 30) levels, it signals a potential reversal or correction.
However, these signals can be false in strongly trending markets, which is why ADX is used alongside it.
2. Trend Strength Confirmation with ADX
Purpose: ADX confirms the presence and strength of a trend.
Benefit in Combination:
If RSI shows a potential reversal but ADX indicates a strong trend (above 25), the trend is likely to continue, and RSI signals may need to be approached with caution.
Conversely, if ADX is below 20 (weak trend), RSI signals are more likely to indicate genuine reversals, as the market lacks a strong directional push.
3. Volatility Analysis with ATR
Purpose: ATR evaluates the level of price volatility.
Benefit in Combination:
High ATR values indicate volatile conditions where prices can move significantly; this helps in setting wider stop-loss levels to avoid premature exits.
Low ATR values suggest quieter markets, where tighter stop-losses and profit targets are more suitable.
Cari dalam skrip untuk "stop loss"
Fibonacci Channel Standard Deviation levels based off 200MAThis script dynamically combines Fibonacci levels with the 200-period simple moving average (SMA), offering a powerful tool for identifying high-probability support and resistance zones. By adjusting to the changing 200 SMA, the script remains relevant across different market phases.
Key Features:
Dynamic Fibonacci Levels:
The script automatically calculates Fibonacci retracements and extensions relative to the 200 SMA.
These levels adapt to market trends, offering more relevant zones compared to static Fibonacci tools.
Support and Resistance Zones:
In uptrends, price often respects retracement levels above the 200 SMA (e.g., 38.2%, 50%, 61.8%).
In downtrends, price may interact with retracements and extensions below the 200 SMA (e.g., 23.6%, 1.618).
Customizable Confluence Zones:
Key levels such as the golden pocket (61.8%–65%) are highlighted as high-probability zones for reversals or continuations.
Extensions (e.g., 1.618) can serve as profit targets or bearish continuation points.
Practical Applications:
Identifying Reversal Zones:
Look for confluence between Fibonacci levels and the 200 SMA to identify potential reversal points.
Example: A pullback to the 61.8%–65% golden pocket near the 200 SMA often signals a bullish reversal.
Trend Confirmation:
In uptrends, price respecting Fibonacci retracements above the 200 SMA (e.g., 38.2%, 50%) confirms strength.
Use Fibonacci extensions (e.g., 1.618) as profit targets during strong trends.
Dynamic Risk Management:
Place stop-losses just below key Fibonacci retracement levels near the 200 SMA to minimize risk.
Bearish Scenarios:
Below the 200 SMA, Fibonacci retracements and extensions act as resistance levels and bearish targets.
How to Use:
Volume Confirmation: Watch for volume spikes near Fibonacci levels to confirm support or resistance.
Price Action: Combine with candlestick patterns (e.g., engulfing candles, pin bars) for precise entries.
Trend Indicators: Use in conjunction with shorter moving averages or RSI to confirm market direction.
Example Setup:
Scenario: Price retraces to the 61.8% Fibonacci level while holding above the 200 SMA.
Confirmation: Volume spikes, and a bullish engulfing candle forms.
Action: Enter long with a stop-loss just below the 200 SMA and target extensions like 1.618.
Key Takeaways:
The 200 SMA serves as a reliable long-term trend anchor.
Fibonacci retracements and extensions provide dynamic zones for trade entries, exits, and risk management.
Combining this tool with volume, price action, or other indicators enhances its effectiveness.
Supertrend EMA & KNNSupertrend EMA & KNN
The Supertrend EMA indicator cuts through the noise to deliver clear trend signals.
This tool is built using the good old Exponential Moving Averages (EMAs) with a novel of machine learning; KNN (K Nearest Neighbors) breakout detection method.
Key Features:
Effortless Trend Identification: Supertrend EMA simplifies trend analysis by automatically displaying a color-coded EMA. Green indicates an uptrend, red signifies a downtrend, and the absence of color suggests a potential range.
Dynamic Breakout Detection: Unlike traditional EMAs, Supertrend EMA incorporates a KNN-based approach to identify breakouts. This allows for faster color changes compared to standard EMAs, offering a more dynamic picture of the trend.
Customizable Parameters: Fine-tune the indicator to your trading style. Adjust the EMA length for trend smoothing, KNN lookback window for breakout sensitivity, and breakout threshold for filtering noise.
A Glimpse Under the Hood:
Dual EMA Power: The indicator utilizes two EMAs. A longer EMA (controlled by the "EMA Length" parameter) provides a smooth trend direction, while a shorter EMA (controlled by the "Short EMA Length" parameter) triggers color changes, aiming for faster response to breakouts.
KNN Breakout Detection: This innovative feature analyzes price action over a user-defined lookback period (controlled by the "KNN Lookback Length" parameter) to identify potential breakouts. If the price surpasses a user-defined threshold (controlled by the "Breakout Threshold" parameter) above the recent highs, a green color is triggered, signaling a potential uptrend. Conversely, a breakdown below the recent lows triggers a red color, indicating a potential downtrend.
Trading with Supertrend EMA:
Ride the Trend: When the indicator displays green, look for long (buy) opportunities, especially when confirmed by bullish price action patterns on lower timeframes. Conversely, red suggests potential shorting (sell) opportunities, again confirmed by bearish price action on lower timeframes.
Embrace Clarity: The color-coded EMA provides a clear visual representation of the trend, allowing you to focus on price action and refine your entry and exit strategies.
A Word of Caution:
While Supertrend EMA offers faster color changes than traditional EMAs, it's important to acknowledge a slight inherent lag. Breakout detection relies on historical data, and there may be a brief delay before the color reflects a new trend.
To achieve optimal results, consider:
Complementary Tools: Combine Supertrend EMA with other indicators or price action analysis for additional confirmation before entering trades.
Solid Risk Management: Always practice sound risk management strategies such as using stop-loss orders to limit potential losses.
Supertrend EMA is a powerful tool designed to simplify trend identification and enhance your trading experience. However, remember, no single indicator guarantees success. Use it with a comprehensive trading strategy and disciplined risk management for optimal results.
Disclaimer:
While the Supertrend EMA indicator can be a valuable tool for identifying potential trend changes, it's important to note that it's not infallible. Market conditions can be highly dynamic, and indicators may sometimes provide false signals. Therefore, it's crucial to use this indicator in conjunction with other technical analysis tools and sound risk management practices. Always conduct thorough research and consider consulting with a financial advisor before making any investment decisions.
Futures Beta Overview with Different BenchmarksBeta Trading and Its Implementation with Futures
Understanding Beta
Beta is a measure of a security's volatility in relation to the overall market. It represents the sensitivity of the asset's returns to movements in the market, typically benchmarked against an index like the S&P 500. A beta of 1 indicates that the asset moves in line with the market, while a beta greater than 1 suggests higher volatility and potential risk, and a beta less than 1 indicates lower volatility.
The Beta Trading Strategy
Beta trading involves creating positions that exploit the discrepancies between the theoretical (or expected) beta of an asset and its actual market performance. The strategy often includes:
Long Positions on High Beta Assets: Investors might take long positions in assets with high beta when they expect market conditions to improve, as these assets have the potential to generate higher returns.
Short Positions on Low Beta Assets: Conversely, shorting low beta assets can be a strategy when the market is expected to decline, as these assets tend to perform better in down markets compared to high beta assets.
Betting Against (Bad) Beta
The paper "Betting Against Beta" by Frazzini and Pedersen (2014) provides insights into a trading strategy that involves betting against high beta stocks in favor of low beta stocks. The authors argue that high beta stocks do not provide the expected return premium over time, and that low beta stocks can yield higher risk-adjusted returns.
Key Points from the Paper:
Risk Premium: The authors assert that investors irrationally demand a higher risk premium for holding high beta stocks, leading to an overpricing of these assets. Conversely, low beta stocks are often undervalued.
Empirical Evidence: The paper presents empirical evidence showing that portfolios of low beta stocks outperform portfolios of high beta stocks over long periods. The performance difference is attributed to the irrational behavior of investors who overvalue riskier assets.
Market Conditions: The paper suggests that the underperformance of high beta stocks is particularly pronounced during market downturns, making low beta stocks a more attractive investment during volatile periods.
Implementation of the Strategy with Futures
Futures contracts can be used to implement the betting against beta strategy due to their ability to provide leveraged exposure to various asset classes. Here’s how the strategy can be executed using futures:
Identify High and Low Beta Futures: The first step involves identifying futures contracts that have high beta characteristics (more sensitive to market movements) and those with low beta characteristics (less sensitive). For example, commodity futures like crude oil or agricultural products might exhibit high beta due to their price volatility, while Treasury bond futures might show lower beta.
Construct a Portfolio: Investors can construct a portfolio that goes long on low beta futures and short on high beta futures. This can involve trading contracts on stock indices for high beta stocks and bonds for low beta exposures.
Leverage and Risk Management: Futures allow for leverage, which means that a small movement in the underlying asset can lead to significant gains or losses. Proper risk management is essential, using stop-loss orders and position sizing to mitigate the inherent risks associated with leveraged trading.
Adjusting Positions: The positions may need to be adjusted based on market conditions and the ongoing performance of the futures contracts. Continuous monitoring and rebalancing of the portfolio are essential to maintain the desired risk profile.
Performance Evaluation: Finally, investors should regularly evaluate the performance of the portfolio to ensure it aligns with the expected outcomes of the betting against beta strategy. Metrics like the Sharpe ratio can be used to assess the risk-adjusted returns of the portfolio.
Conclusion
Beta trading, particularly the strategy of betting against high beta assets, presents a compelling approach to capitalizing on market inefficiencies. The research by Frazzini and Pedersen emphasizes the benefits of focusing on low beta assets, which can yield more favorable risk-adjusted returns over time. When implemented using futures, this strategy can provide a flexible and efficient means to execute trades while managing risks effectively.
References
Frazzini, A., & Pedersen, L. H. (2014). Betting against beta. Journal of Financial Economics, 111(1), 1-25.
Fama, E. F., & French, K. R. (1992). The cross-section of expected stock returns. Journal of Finance, 47(2), 427-465.
Black, F. (1972). Capital Market Equilibrium with Restricted Borrowing. Journal of Business, 45(3), 444-454.
Ang, A., & Chen, J. (2010). Asymmetric volatility: Evidence from the stock and bond markets. Journal of Financial Economics, 99(1), 60-80.
By utilizing the insights from academic literature and implementing a disciplined trading strategy, investors can effectively navigate the complexities of beta trading in the futures market.
Demand and Supply Conditions with SignalsIntroduction:
This document outlines a trading strategy that utilizes price action analysis and color signals to make informed trading decisions. The strategy focuses on identifying demand and supply conditions, curve patterns, and generating signals based on historical price data. The colors associated with each condition and signal serve as visual indicators to assist in decision-making.
I. Strategy Overview:
Objective:
The objective of this trading strategy is to identify potential trading opportunities based on price action analysis and color signals.
Key Components:
Demand Condition: A green upward-facing triangle indicates a potential demand condition.
Supply Condition: A red downward-facing triangle indicates a potential supply condition.
Curve Pattern Condition: A blue upward-facing triangle indicates a potential curve pattern condition.
Signal Condition: A yellow upward-facing triangle indicates a potential buy signal.
II. Understanding the Colors:
* Green: Represents the demand condition, which suggests potential buying pressure in the market. A green upward-facing triangle is plotted on the chart when the demand condition is met at a specific candle or bar.
* Red: Represents the supply condition, which suggests potential selling pressure in the market. A red downward-facing triangle is plotted on the chart when the supply condition is met at a specific candle or bar.
* Blue: Represents the curve pattern condition, which suggests the presence of a specific pattern based on price action analysis. A blue upward-facing triangle is plotted on the chart when the curve pattern condition is met at a specific candle or bar.
* Yellow: Represents the signal condition, which is a combination of the demand condition and the curve pattern condition. A yellow upward-facing triangle is plotted on the chart when the signal condition is met at a specific candle or bar, indicating a potential buy signal.
III. Decision-Making Process:
* Demand and Supply Conditions: Identify potential buying opportunities when a green demand condition is present. Consider potential selling opportunities when a red supply condition is present. Use these conditions to assess the overall market sentiment and potential price reversals.
* Curve Patterns: Analyze the presence of blue curve pattern conditions to identify specific price patterns. These patterns can provide additional confirmation for potential trading decisions.
* Signal Condition: Pay attention to the yellow signal condition, which indicates a potential buy signal. Evaluate the overall market context and consider entering a buy position when the signal condition is met.
* Risk Management: Implement proper risk management techniques such as setting stop-loss orders and position sizing to protect against potential losses.
IV. Conclusion:
This trading strategy leverages price action analysis and color signals to identify potential trading opportunities. The colors associated with each condition and signal serve as visual aids to highlight specific points on the chart. It's important to thoroughly backtest and validate the strategy before applying it to real-world trading scenarios. Additionally, always consider market conditions, risk management, and individual trading preferences when making trading decisions.
Disclaimer: Trading involves risks, and this document does not guarantee profitable outcomes. Traders should exercise caution and perform their own due diligence before engaging in any trading activity.
Remember to continually review and adapt your trading strategy based on market conditions and personal experiences to enhance its effectiveness.
Heartbeat Momentum Strategy BetaHeartbeat Momentum Strategy Beta
Overview
The Heartbeat Momentum Strategy is an innovative approach to market analysis that draws inspiration from the rhythmic patterns of a heartbeat. This strategy aims to identify significant momentum shifts in the market by comparing short-term and long-term moving averages, analogous to detecting irregularities in a heartbeat.
Key Concepts
Market Heartbeat: The difference between short-term and long-term moving averages, representing the market's current 'pulse'.
Heartbeat Volatility: Measured by the standard deviation of the market heartbeat.
Momentum Signals: Generated when the heartbeat deviates significantly from its normal range.
How It Works
Calculates a short-term moving average (default 5 periods) and a long-term moving average (default 20 periods) of the closing price.
Computes the 'heartbeat' by subtracting the long-term MA from the short-term MA.
Measures the volatility of the heartbeat using its standard deviation over the long-term period.
Generates buy signals when the heartbeat exceeds 2 standard deviations above its mean.
Generates sell signals when the heartbeat falls 2 standard deviations below its mean.
Indicator Components
Blue Line: Short-term moving average
Red Line: Long-term moving average
Green Triangles: Buy signals
Red Triangles: Sell signals
Background Color: Light green during buy signals, light red during sell signals
Strategy Parameters
Short MA Window: The period for the short-term moving average (default: 5)
Long MA Window: The period for the long-term moving average (default: 20)
Standard Deviation Threshold: The number of standard deviations to trigger a signal (default: 2.0)
Interpretation
Buy Signal: Indicates a potential strong upward momentum shift. Consider opening long positions or closing short positions.
Sell Signal: Suggests a potential strong downward momentum shift. Consider opening short positions or closing long positions.
No Signal: The market is moving within its normal rhythm. Maintain current positions or look for other entry opportunities.
Customization
Users can adjust the strategy parameters to suit different assets, timeframes, or trading styles:
Decrease the MA windows for more frequent signals (more suitable for shorter timeframes).
Increase the MA windows for fewer, potentially more significant signals (better for longer timeframes).
Adjust the Standard Deviation Threshold to fine-tune sensitivity (lower for more signals, higher for fewer but potentially stronger signals).
Risk Management
While this strategy can provide valuable insights into market momentum, it should not be used in isolation:
Always use stop-loss orders to manage potential losses.
Consider the overall market context and other technical/fundamental factors.
Be aware of potential false signals, especially in ranging or highly volatile markets.
Backtest and forward-test the strategy with different parameters before live trading.
Conclusion
The Heartbeat Momentum Strategy offers a unique perspective on market movements by treating price action like a heartbeat. By identifying significant deviations from the normal market rhythm, it aims to capture strong momentum shifts while filtering out market noise. As with any trading strategy, use it as part of a comprehensive trading plan and always practice sound risk management.
Chieu - Bollinger Bands SMA 50 StrategyOverview
The Custom Bollinger Bands Indicator is a versatile tool designed to help traders identify potential market reversals and optimize their trading strategies. This indicator combines Bollinger Bands with an ATR-based stop-loss mechanism, configurable take-profit levels, and dynamic position sizing to manage risk effectively. By highlighting key market conditions and providing clear visual cues, it enables traders to make informed decisions and execute trades with precision.
Key Features
Bollinger Bands Calculation:
The indicator calculates Bollinger Bands based on a configurable Simple Moving Average (SMA) length.
Standard deviation multiplier is adjustable, allowing traders to fine-tune the width of the bands.
Candlestick Highlighting:
Candles that touch the upper or lower Bollinger Bands are highlighted, indicating potential overbought or oversold conditions.
Reversal candles are identified and highlighted based on specific criteria:
The candle must touch the Bollinger Bands for two consecutive periods.
The reversal candle must have a body at least twice the size of the previous candle's body.
The reversal candle must close in the opposite direction to the previous candle (e.g., a bullish candle following a bearish one).
Stop-Loss and Take-Profit Levels:
Stop-loss levels are calculated using the ATR (Average True Range) indicator, ensuring they are dynamically adjusted based on market volatility.
Two configurable take-profit levels (1R and 2R) are plotted based on the initial risk (distance between entry and stop-loss).
Take-profit and stop-loss lines are visually represented on the chart for easy reference.
Position Sizing and Risk Management:
The indicator includes configurable inputs for account balance, leverage, and risk percentage.
It calculates the nominal value (position size without leverage) and cost value (position size with leverage) based on the specified risk parameters.
Combined labels display SL, TP, nominal value, and cost value, replacing the default "Reversal" text for clear, concise information.
Customization Options:
Users can configure the length of the take-profit lines.
The option to toggle the highlighting of candles touching the Bollinger Bands on or off, while always highlighting the identified reversal candles.
How to Use
Configuration:
Set the desired SMA length and Bollinger Bands multiplier in the input settings.
Configure the ATR length for accurate stop-loss calculations.
Adjust the risk-reward ratio and take-profit line length according to your trading strategy.
Specify your account balance, leverage, and risk percentage for precise position sizing.
Chart Analysis:
Monitor the chart for candles touching the upper or lower Bollinger Bands. These highlights indicate potential overbought or oversold conditions.
Look for highlighted reversal candles, which meet the specified criteria and suggest a potential market reversal.
Use the plotted stop-loss and take-profit lines to manage your trades effectively. The combined labels provide all necessary information (SL, TP, nominal value, and cost value) for quick decision-making.
Execution and Risk Management:
Enter trades based on the reversal candle signals.
Set your stop-loss at the indicated level using the ATR calculation.
Take partial profits at the first take-profit level (1R) and adjust your stop-loss to the entry point to secure the remaining position.
Exit the trade entirely at the second take-profit level (2R) or if the price returns to the adjusted stop-loss level.
Engulfing with Fibonacci LevelsIndicator Explanation
The indicator identifies bullish and bearish engulfing patterns and plots Fibonacci levels based on these patterns. Here's a detailed explanation of the script:
1. Bullish Engulfing Pattern
A bullish engulfing pattern is identified when:
- The previous candle is bearish (`close < open `).
- The current candle is bullish (`close > open`).
- The low of the current candle is lower than the low of the previous candle (`low < low `).
- The current candle's close is higher than the previous candle's open (`close > open `).
When a bullish engulfing pattern is identified:
- Fibonacci levels are plotted from the low (0%) to the high (100%) of the bullish candle.
- A green dot is plotted below the bullish candle to indicate a buy signal.
2. Bearish Engulfing Pattern
A bearish engulfing pattern is identified when:
- The previous candle is bullish (`close > open `).
- The current candle is bearish (`close < open`).
- The high of the current candle is higher than the high of the previous candle (`high > high `).
- The current candle's close is lower than the previous candle's open (`close < open `).
When a bearish engulfing pattern is identified:
- Fibonacci levels are plotted from the high (0%) to the low (100%) of the bearish candle.
- A red dot is plotted above the bearish candle to indicate a sell signal.
3. Plotting Fibonacci Levels
For both bullish and bearish patterns, Fibonacci levels are plotted at:
- 0% (high for bullish, low for bearish)
- 50%
- 61.8%
- 79%
- 100% (low for bullish, high for bearish)
Smart Money Concept (SMC) Explanation
Bearish Signal
In the context of Smart Money Concepts (SMC), a bearish engulfing pattern can indicate:
- **Buy Side Liquidity Grab**: The high of the current bearish candle goes above the high of the previous bullish candle, potentially grabbing buy-side liquidity (stop losses of short positions or buy stops).
- **Break of Structure (BoS)**: The close of the bearish candle below the open of the previous bullish candle indicates a shift in market structure.
After identifying this bearish engulfing pattern, a smart money trader might:
1. Wait for the market to retrace 50% of the bearish candle.
2. Enter a sell trade around the 50% retracement level, anticipating a continuation of the downward move.
#### Bullish Signal
Similarly, a bullish engulfing pattern can indicate:
- **Sell Side Liquidity Grab**: The low of the current bullish candle goes below the low of the previous bearish candle, potentially grabbing sell-side liquidity (stop losses of long positions or sell stops).
- **Break of Structure (BoS)**: The close of the bullish candle above the open of the previous bearish candle indicates a shift in market structure.
After identifying this bullish engulfing pattern, a smart money trader might:
1. Wait for the market to retrace 50% of the bullish candle.
2. Enter a buy trade around the 50% retracement level, anticipating a continuation of the upward move.
The indicator helps traders identify key engulfing patterns that align with smart money concepts of liquidity grabs and breaks of structure. By plotting Fibonacci levels, it visually aids traders in waiting for optimal retracement levels (50%) to enter trades in the direction of the anticipated move. This approach leverages the idea that significant market participants often seek liquidity and cause structural shifts, providing entry opportunities for informed traders.
Prometheus Polarized Fractal Efficiency (PFE)This indicator uses market data to calculate Polarized Fractal Efficiency (PFE) on an asset, so traders can have a better idea of which direction it may go.
Users can control the lookback length for the fractal calculation, the lookback length for the Exponential Moving Average (EMA), and whether or not to display lines at the -50 and 50 level, or -25 and 25 level.
Polarized Fractal Efficiency:
The Polarized Fractal Efficiency (PFE) indicator is a value between -100 and 100 with 0 as a midpoint.
A PFE above 0 indicates the asset may trend higher, a PFE below 0 indicates the asset may trend lower.
There are many ways to trade with PFE, the intuitive trend riding as described above, or reversals.
Even when the PFE is above 0, if it gets high enough, it may also be an indication of a reversal. A PFE of 90 - 100, or -100 - -90, may indicate price is ready to revert the other direction. Furthermore, traders already in a position may look to breaks of other levels to be their take profit or stop out spot.
Calculation:
Pi = 100 x (Price - Price )2 + N2 / Summation, j= 0, to N-2 (Price - Price )2 + 1
If Close < Close Pi = -Pi
PFEi = EMA(Pi, M)
Where:
N = period of indicator
M = smoothing period
Citation: www.investopedia.com
Scenarios:
Inputs are (9, 5) and every display option is on.
Trend example
Step 1: A short trade appears as PFE crosses below -25. We reach a safe take profit as PFE crosses below -50. Traders can use these levels to exit as well as enter.
Step 2: On the cross above 25 there is a safe long. As the PFE value breaks 0 a safe, early take profit could be appropriate for this trade. No guarantee we would see 50.
Step 3: Long scenario at break of 25, straight to 50. Simple, straightforward setup.
Step 4: This long results in a stop loss. Once again entry as PFE crosses 25, but as we cross the 0 line it is for a loss.
Step 5: The last trade in this example is reminiscent of step 3. This is a short trade entry at break of 25 and exit at break of 50.
Traders have liberty to use the PFE value to determine spots to enter and exit trades, long or short. 25 and 50 were chosen arbitrarily, values like 10 and 60 may work as well, we encourage traders to use their own discretion along with tools.
Reversal example
Step 1: PFE is around -100, crossing below it at one point! Strong zone for a potential reversal.
Step 2: PFE crosses above 25 adding conviction.
Step 3: Option to exit at 70.
Step 4: Option to exit at 90.
There is no “one size fits all method”, this approach may be more intuitive for some users and is just as feasible as the first.
Longer trend example
Step 1: Using -50 and 50 this time instead of -25 and 25 to be safer on our entries we see a short here. Was a good entry and as the value gets closer to -70 we can safely close.
Step 2: On this candle we see a long for the break of 50. On the next candle we break the 0 line, but because of our safe entry at 50, we could hold this and only stop out at a break of -25. We get close but stay in it and close at 70.
Step 3: Break of 50 for a long once again. This time the break of 0 line occurs as we are in profit, not letting a green trade go red is a golden rule of trading, so an early exit here.
Step 4: Same at step 2, break of 50 to long and stay in it, not stopping out at break of 0 line. The PFE value eventually reaches 70 and there is a good exit.
Quicker Reversal example
Step 1: Notice a close with PFE below -90, enter long for the reversal. Then close for profit when the PFE crosses above 70.
Step 2: When the PFE breaks above 90 we have a short entry. Like the long closing it when it crosses below -70.
Step 3: This step is the same setup as step 2. As PFE breaks above 90 we have a short entry. Closing it when it crosses below -70.
Recap:
Described above are 4 different examples with many different trades. Both trend and reversal trades. The PFE value is an indicator that can be used by traders in many different ways and Prometheus encourages traders to use their own discretion along with tools and not follow indicators blindly.
Options:
Users can control the input for the lookback of the indicator. The default is 9.
The smoothing factor for the EMA is also changeable, default is 5.
Users have options to display lines at -50, -25, 25, and 50.
CARNAC Trading Support and Resistance LevelsOverview
The "Carnac Trading Support and Resistance Levels" indicator is a powerful tool designed to help traders identify key support and resistance levels across multiple timeframes. This tool enhances trading strategies by visually marking significant price levels and providing configurable stop-loss and alert features.
Features
Support and Resistance Levels: Automatically calculates and plots support and resistance levels for the following timeframes:
5 minutes (5M)
10 minutes (10M)
15 minutes (15M)
30 minutes (30M)
1 hour (1H)
2 hours (2H)
4 hours (4H)
6 hours (6H)
12 hours (12H)
1 day (1D)
1 week (1W)
1 month (1M)
Configurable Stop-Loss (SL) Levels: Adds a stop-loss line below each support level and above each resistance level with customizable padding (as a percentage).
Visual Labels: Clearly labels support, resistance, and stop-loss levels with the corresponding prices and timeframes for easy identification.
Line Customization:
Support Levels: Green lines with varying thickness based on the timeframe.
Resistance Levels: Red lines with varying thickness based on the timeframe.
Stop-Loss Levels: Gray dotted lines for clear distinction.
Alerts: Alerts trigger when the price gets to a configurable percentage from the support or resistance levels, helping you stay informed about potential buying and selling opportunities.
Visibility Toggling: Easily toggle the visibility of support and resistance levels for each timeframe (default enabled for 2H, 4H, and 1D).
How to Use
Add the Indicator:
Navigate to the TradingView Pine Editor.
Paste the provided Pine Script code and click "Add to Chart."
Configure Inputs:
Lookback Periods: Adjust the lookback periods for each timeframe to suit your analysis needs.
Padding Percentage: Set the padding percentage for the stop-loss levels to define the distance below the support levels and above the resistance levels.
Visibility: Toggle the visibility of the support and resistance levels for each timeframe as needed (default enabled for 2H, 4H, and 1D).
Alert Trigger Distance: Set the alert trigger distance as a percentage to determine when the alerts should be triggered.
Interpret the Plotted Levels:
Green Lines: Indicate support levels for the respective timeframes.
Red Lines: Indicate resistance levels for the respective timeframes.
Gray Dotted Lines: Represent the stop-loss levels below each support level and above each resistance level, with the specified padding.
Labels: Provide clear indications of the price levels and their respective timeframes in white text for visibility.
Identifying Buying and Selling Opportunities:
Buying Opportunities:
Look for the price to approach or bounce off a support level (green line).
Confirm the potential for a reversal by checking if the price is nearing a key support level from multiple timeframes.
Use the stop-loss level (gray dotted line) to set your stop-loss order below the support level to minimize risk.
Selling Opportunities:
Look for the price to approach or get rejected at a resistance level (red line).
Confirm the potential for a reversal by checking if the price is nearing a key resistance level from multiple timeframes.
Use the stop-loss level (gray dotted line) to set your stop-loss order above the resistance level to minimize risk.
Alerts:
Alerts will notify you when the price gets within the specified percentage distance from each support or resistance level.
Use these alerts to stay informed about potential buying and selling opportunities.
Trade Exit Calculator [MarketSignalsPro]█ OVERVIEW
This Pine Script calculates a Stop Loss and Take Profit order suggestion based on the Average True Range (ATR). This provides a market generated visual reference for the user to better gauge risk and profit potential for their trades. This is not a trade signal system, it is a tool best used in conjunction with an existing system.
█ FEATURES
Inputs:
stopLossMultiplier and takeProfitMultiplier : These are input parameters that allow the user to adjust the multiplier for calculating stop loss and take profit levels.
longIndicator : This input parameter determines whether the script is calculating levels for a long setup (buy) or a short setup (sell).
Variable Initialization:
Various variables are initialized to manage labels, lines, and calculated stop loss and take profit levels.
ATR (Average True Range) is calculated using a period of 14.
Calculation of Stop Loss and Take Profit:
Depending on the value of longIndicator stop loss and take profit levels are not calculated the same way.
For long setups, stop loss is calculated below the closing price and take profit above, while for short setups, it's the opposite.
The calculation involves multiplying the ATR value by the user-defined multipliers and adding or subtracting from the closing price accordingly.
Plotting Lines:
Lines representing the calculated stop loss, take profit, and entry price are plotted on the chart.
Displaying Labels:
Labels displaying the calculated stop loss, take profit, and entry price are shown on the chart alongside the respective lines.
Updating and Deleting Objects:
Existing lines and labels are updated or deleted to ensure only the most recent levels are displayed on the chart.
Final Output:
The script outputs visual representations of stop loss, take profit, and entry price levels on the chart, providing traders with guidance for risk management and profit-taking strategies based on the volatility of the market.
█ CONCLUSION
In summary, this Pine Script enhances trading strategies by calculating and illustrating stop loss and take profit levels based on the Average True Range indicator, offering traders a structured way to manage risk and profit potential.
█ THANKS
Special thanks to Cryptosnagger for taking the time to build this Pine Script and share it freely with the community.
Trend Following Parabolic Buy Sell Strategy [TradeDots]The Trend Following Parabolic Buy-Sell Strategy leverages the Parabolic SAR in combination with moving average crossovers to deliver buy and sell signals within a trend-following framework.
This strategy synthesizes proven methodologies sourced from various trading tutorials available on platforms such as YouTube and blogs, enabling traders to conduct robust backtesting on their selected trading pairs to assess the strategy's effectiveness.
HOW IT WORKS
This strategy employs four key indicators to orchestrate its trading signals:
1. Trend Alignment: It first assesses the relationship between the price and the predominant trendline to determine the directional stance—taking long positions only when the price trends above the moving average, signaling an upward market trajectory.
2. Momentum Confirmation: Subsequent to trend alignment, the strategy looks for moving average crossovers as a confirmation that the price is gaining momentum in the direction of the intended trades.
3. Signal Finalization: Finally, buy or sell signals are validated using the Parabolic SAR indicator. A long order is validated when the closing price is above the Parabolic SAR dots, and similarly, conditions are reversed for short orders.
4. Risk Management: The strategy institutes a fixed stop-loss at the moving average trendline and a take-profit level determinable by a prefixed risk-reward ratio calculated from the moving average trendline. These parameters are customizable by the users within the strategy settings.
APPLICATION
Designed for assets exhibiting pronounced directional momentum, this strategy aims to capitalize on clear trend movements conducive to achieving set take-profit targets.
As a lagging strategy that waits for multiple confirmatory signals, entry into trades might occasionally lag beyond optimal timing.
Furthermore, in periods of consolidation or sideways movement, the strategy may generate several false signals, suggesting the potential need for additional market condition filters to enhance signal accuracy during volatile phases.
DEFAULT SETUP
Commission: 0.01%
Initial Capital: $10,000
Equity per Trade: 70%
Users are advised to adjust and personalize this trading strategy to better match their individual trading preferences and style.
RISK DISCLAIMER
Trading entails substantial risk, and most day traders incur losses. All content, tools, scripts, articles, and education provided by TradeDots serve purely informational and educational purposes. Past performances are not definitive predictors of future results.
TRADINGLibrary "TRADING"
This library is a client script for making a webhook signal formatted string to PoABOT server.
entry_message(password, percent, leverage, margin_mode, kis_number)
Create a entry message for POABOT
Parameters:
password (string) : (string) The password of your bot.
percent (float) : (float) The percent for entry based on your wallet balance.
leverage (int) : (int) The leverage of entry. If not set, your levereage doesn't change.
margin_mode (string) : (string) The margin mode for trade(only for OKX). "cross" or "isolated"
kis_number (int) : (int) The number of koreainvestment account. Default 1
Returns: (string) A json formatted string for webhook message.
order_message(password, percent, leverage, margin_mode, kis_number)
Create a order message for POABOT
Parameters:
password (string) : (string) The password of your bot.
percent (float) : (float) The percent for entry based on your wallet balance.
leverage (int) : (int) The leverage of entry. If not set, your levereage doesn't change.
margin_mode (string) : (string) The margin mode for trade(only for OKX). "cross" or "isolated"
kis_number (int) : (int) The number of koreainvestment account. Default 1
Returns: (string) A json formatted string for webhook message.
close_message(password, percent, margin_mode, kis_number)
Create a close message for POABOT
Parameters:
password (string) : (string) The password of your bot.
percent (float) : (float) The percent for close based on your wallet balance.
margin_mode (string) : (string) The margin mode for trade(only for OKX). "cross" or "isolated"
kis_number (int) : (int) The number of koreainvestment account. Default 1
Returns: (string) A json formatted string for webhook message.
exit_message(password, percent, margin_mode, kis_number)
Create a exit message for POABOT
Parameters:
password (string) : (string) The password of your bot.
percent (float) : (float) The percent for exit based on your wallet balance.
margin_mode (string) : (string) The margin mode for trade(only for OKX). "cross" or "isolated"
kis_number (int) : (int) The number of koreainvestment account. Default 1
Returns: (string) A json formatted string for webhook message.
manual_message(password, exchange, base, quote, side, qty, price, percent, leverage, margin_mode, kis_number, order_name)
Create a manual message for POABOT
Parameters:
password (string) : (string) The password of your bot.
exchange (string) : (string) The exchange
base (string) : (string) The base
quote (string) : (string) The quote of order message
side (string) : (string) The side of order messsage
qty (float) : (float) The qty of order message
price (float) : (float) The price of order message
percent (float) : (float) The percent for order based on your wallet balance.
leverage (int) : (int) The leverage of entry. If not set, your levereage doesn't change.
margin_mode (string) : (string) The margin mode for trade(only for OKX). "cross" or "isolated"
kis_number (int) : (int) The number of koreainvestment account.
order_name (string) : (string) The name of order message
Returns: (string) A json formatted string for webhook message.
in_trade(start_time, end_time, hide_trade_line)
Create a trade start line
Parameters:
start_time (int) : (int) The start of time.
end_time (int) : (int) The end of time.
hide_trade_line (bool) : (bool) if true, hide trade line. Default false.
Returns: (bool) Get bool for trade based on time range.
real_qty(qty, precision, leverage, contract_size, default_qty_type, default_qty_value)
Get exchange specific real qty
Parameters:
qty (float) : (float) qty
precision (float) : (float) precision
leverage (int) : (int) leverage
contract_size (float) : (float) contract_size
default_qty_type (string)
default_qty_value (float)
Returns: (float) exchange specific qty.
method set(this, password, start_time, end_time, leverage, initial_capital, default_qty_type, default_qty_value, margin_mode, contract_size, kis_number, entry_percent, close_percent, exit_percent, fixed_qty, fixed_cash, real, auto_alert_message, hide_trade_line)
Set bot object.
Namespace types: bot
Parameters:
this (bot)
password (string) : (string) password for poabot.
start_time (int) : (int) start_time timestamp.
end_time (int) : (int) end_time timestamp.
leverage (int) : (int) leverage.
initial_capital (float)
default_qty_type (string)
default_qty_value (float)
margin_mode (string) : (string) The margin mode for trade(only for OKX). "cross" or "isolated"
contract_size (float)
kis_number (int) : (int) kis_number for poabot.
entry_percent (float) : (float) entry_percent for poabot.
close_percent (float) : (float) close_percent for poabot.
exit_percent (float) : (float) exit_percent for poabot.
fixed_qty (float) : (float) fixed qty.
fixed_cash (float) : (float) fixed cash.
real (bool) : (bool) convert qty for exchange specific.
auto_alert_message (bool) : (bool) convert alert_message for exchange specific.
hide_trade_line (bool) : (bool) if true, Hide trade line. Default false.
Returns: (void)
method print(this, message)
Print message using log table.
Namespace types: bot
Parameters:
this (bot)
message (string)
Returns: (void)
method start_trade(this)
start trade using start_time and end_time
Namespace types: bot
Parameters:
this (bot)
Returns: (void)
method entry(this, id, direction, qty, limit, stop, oca_name, oca_type, comment, alert_message, when)
It is a command to enter market position. If an order with the same ID is already pending, it is possible to modify the order. If there is no order with the specified ID, a new order is placed. To deactivate an entry order, the command strategy.cancel or strategy.cancel_all should be used. In comparison to the function strategy.order, the function strategy.entry is affected by pyramiding and it can reverse market position correctly. If both 'limit' and 'stop' parameters are 'NaN', the order type is market order.
Namespace types: bot
Parameters:
this (bot)
id (string) : (string) A required parameter. The order identifier. It is possible to cancel or modify an order by referencing its identifier.
direction (string) : (string) A required parameter. Market position direction: 'strategy.long' is for long, 'strategy.short' is for short.
qty (float) : (float) An optional parameter. Number of contracts/shares/lots/units to trade. The default value is 'NaN'.
limit (float) : (float) An optional parameter. Limit price of the order. If it is specified, the order type is either 'limit', or 'stop-limit'. 'NaN' should be specified for any other order type.
stop (float) : (float) An optional parameter. Stop price of the order. If it is specified, the order type is either 'stop', or 'stop-limit'. 'NaN' should be specified for any other order type.
oca_name (string) : (string) An optional parameter. Name of the OCA group the order belongs to. If the order should not belong to any particular OCA group, there should be an empty string.
oca_type (string) : (string) An optional parameter. Type of the OCA group. The allowed values are: "strategy.oca.none" - the order should not belong to any particular OCA group; "strategy.oca.cancel" - the order should belong to an OCA group, where as soon as an order is filled, all other orders of the same group are cancelled; "strategy.oca.reduce" - the order should belong to an OCA group, where if X number of contracts of an order is filled, number of contracts for each other order of the same OCA group is decreased by X.
comment (string) : (string) An optional parameter. Additional notes on the order.
alert_message (string) : (string) An optional parameter which replaces the {{strategy.order.alert_message}} placeholder when it is used in the "Create Alert" dialog box's "Message" field.
when (bool) : (bool) An optional parmeter. Condition, deprecated.
Returns: (void)
method order(this, id, direction, qty, limit, stop, oca_name, oca_type, comment, alert_message, when)
It is a command to place order. If an order with the same ID is already pending, it is possible to modify the order. If there is no order with the specified ID, a new order is placed. To deactivate order, the command strategy.cancel or strategy.cancel_all should be used. In comparison to the function strategy.entry, the function strategy.order is not affected by pyramiding. If both 'limit' and 'stop' parameters are 'NaN', the order type is market order.
Namespace types: bot
Parameters:
this (bot)
id (string) : (string) A required parameter. The order identifier. It is possible to cancel or modify an order by referencing its identifier.
direction (string) : (string) A required parameter. Market position direction: 'strategy.long' is for long, 'strategy.short' is for short.
qty (float) : (float) An optional parameter. Number of contracts/shares/lots/units to trade. The default value is 'NaN'.
limit (float) : (float) An optional parameter. Limit price of the order. If it is specified, the order type is either 'limit', or 'stop-limit'. 'NaN' should be specified for any other order type.
stop (float) : (float) An optional parameter. Stop price of the order. If it is specified, the order type is either 'stop', or 'stop-limit'. 'NaN' should be specified for any other order type.
oca_name (string) : (string) An optional parameter. Name of the OCA group the order belongs to. If the order should not belong to any particular OCA group, there should be an empty string.
oca_type (string) : (string) An optional parameter. Type of the OCA group. The allowed values are: "strategy.oca.none" - the order should not belong to any particular OCA group; "strategy.oca.cancel" - the order should belong to an OCA group, where as soon as an order is filled, all other orders of the same group are cancelled; "strategy.oca.reduce" - the order should belong to an OCA group, where if X number of contracts of an order is filled, number of contracts for each other order of the same OCA group is decreased by X.
comment (string) : (string) An optional parameter. Additional notes on the order.
alert_message (string) : (string) An optional parameter which replaces the {{strategy.order.alert_message}} placeholder when it is used in the "Create Alert" dialog box's "Message" field.
when (bool) : (bool) An optional parmeter. Condition, deprecated.
Returns: (void)
method close_all(this, comment, alert_message, immediately, when)
Exits the current market position, making it flat.
Namespace types: bot
Parameters:
this (bot)
comment (string) : (string) An optional parameter. Additional notes on the order.
alert_message (string) : (string) An optional parameter which replaces the {{strategy.order.alert_message}} placeholder when it is used in the "Create Alert" dialog box's "Message" field.
immediately (bool) : (bool) An optional parameter. If true, the closing order will be executed on the tick where it has been placed, ignoring the strategy parameters that restrict the order execution to the open of the next bar. The default is false.
when (bool) : (bool) An optional parmeter. Condition, deprecated.
Returns: (void)
method cancel(this, id, when)
It is a command to cancel/deactivate pending orders by referencing their names, which were generated by the functions: strategy.order, strategy.entry and strategy.exit.
Namespace types: bot
Parameters:
this (bot)
id (string) : (string) A required parameter. The order identifier. It is possible to cancel an order by referencing its identifier.
when (bool) : (bool) An optional parmeter. Condition, deprecated.
Returns: (void)
method cancel_all(this, when)
It is a command to cancel/deactivate all pending orders, which were generated by the functions: strategy.order, strategy.entry and strategy.exit.
Namespace types: bot
Parameters:
this (bot)
when (bool) : (bool) An optional parmeter. Condition, deprecated.
Returns: (void)
method close(this, id, comment, qty, qty_percent, alert_message, immediately, when)
It is a command to exit from the entry with the specified ID. If there were multiple entry orders with the same ID, all of them are exited at once. If there are no open entries with the specified ID by the moment the command is triggered, the command will not come into effect. The command uses market order. Every entry is closed by a separate market order.
Namespace types: bot
Parameters:
this (bot)
id (string) : (string) A required parameter. The order identifier. It is possible to close an order by referencing its identifier.
comment (string) : (string) An optional parameter. Additional notes on the order.
qty (float) : (float) An optional parameter. Number of contracts/shares/lots/units to exit a trade with. The default value is 'NaN'.
qty_percent (float) : (float) Defines the percentage (0-100) of the position to close. Its priority is lower than that of the 'qty' parameter. Optional. The default is 100.
alert_message (string) : (string) An optional parameter which replaces the {{strategy.order.alert_message}} placeholder when it is used in the "Create Alert" dialog box's "Message" field.
immediately (bool) : (bool) An optional parameter. If true, the closing order will be executed on the tick where it has been placed, ignoring the strategy parameters that restrict the order execution to the open of the next bar. The default is false.
when (bool) : (bool) An optional parmeter. Condition, deprecated.
Returns: (void)
ticks_to_price(ticks, from)
Converts ticks to a price offset from the supplied price or the average entry price.
Parameters:
ticks (float) : (float) Ticks to convert to a price.
from (float) : (float) A price that can be used to calculate from. Optional. The default value is `strategy.position_avg_price`.
Returns: (float) A price level that has a distance from the entry price equal to the specified number of ticks.
method exit(this, id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, comment_profit, comment_loss, comment_trailing, alert_message, alert_profit, alert_loss, alert_trailing, when)
It is a command to exit either a specific entry, or whole market position. If an order with the same ID is already pending, it is possible to modify the order. If an entry order was not filled, but an exit order is generated, the exit order will wait till entry order is filled and then the exit order is placed. To deactivate an exit order, the command strategy.cancel or strategy.cancel_all should be used. If the function strategy.exit is called once, it exits a position only once. If you want to exit multiple times, the command strategy.exit should be called multiple times. If you use a stop loss and a trailing stop, their order type is 'stop', so only one of them is placed (the one that is supposed to be filled first). If all the following parameters 'profit', 'limit', 'loss', 'stop', 'trail_points', 'trail_offset' are 'NaN', the command will fail. To use market order to exit, the command strategy.close or strategy.close_all should be used.
Namespace types: bot
Parameters:
this (bot)
id (string) : (string) A required parameter. The order identifier. It is possible to cancel or modify an order by referencing its identifier.
from_entry (string) : (string) An optional parameter. The identifier of a specific entry order to exit from it. To exit all entries an empty string should be used. The default values is empty string.
qty (float) : (float) An optional parameter. Number of contracts/shares/lots/units to exit a trade with. The default value is 'NaN'.
qty_percent (float) : (float) Defines the percentage of (0-100) the position to close. Its priority is lower than that of the 'qty' parameter. Optional. The default is 100.
profit (float) : (float) An optional parameter. Profit target (specified in ticks). If it is specified, a limit order is placed to exit market position when the specified amount of profit (in ticks) is reached. The default value is 'NaN'.
limit (float) : (float) An optional parameter. Profit target (requires a specific price). If it is specified, a limit order is placed to exit market position at the specified price (or better). Priority of the parameter 'limit' is higher than priority of the parameter 'profit' ('limit' is used instead of 'profit', if its value is not 'NaN'). The default value is 'NaN'.
loss (float) : (float) An optional parameter. Stop loss (specified in ticks). If it is specified, a stop order is placed to exit market position when the specified amount of loss (in ticks) is reached. The default value is 'NaN'.
stop (float) : (float) An optional parameter. Stop loss (requires a specific price). If it is specified, a stop order is placed to exit market position at the specified price (or worse). Priority of the parameter 'stop' is higher than priority of the parameter 'loss' ('stop' is used instead of 'loss', if its value is not 'NaN'). The default value is 'NaN'.
trail_price (float) : (float) An optional parameter. Trailing stop activation level (requires a specific price). If it is specified, a trailing stop order will be placed when the specified price level is reached. The offset (in ticks) to determine initial price of the trailing stop order is specified in the 'trail_offset' parameter: X ticks lower than activation level to exit long position; X ticks higher than activation level to exit short position. The default value is 'NaN'.
trail_points (float) : (float) An optional parameter. Trailing stop activation level (profit specified in ticks). If it is specified, a trailing stop order will be placed when the calculated price level (specified amount of profit) is reached. The offset (in ticks) to determine initial price of the trailing stop order is specified in the 'trail_offset' parameter: X ticks lower than activation level to exit long position; X ticks higher than activation level to exit short position. The default value is 'NaN'.
trail_offset (float) : (float) An optional parameter. Trailing stop price (specified in ticks). The offset in ticks to determine initial price of the trailing stop order: X ticks lower than 'trail_price' or 'trail_points' to exit long position; X ticks higher than 'trail_price' or 'trail_points' to exit short position. The default value is 'NaN'.
oca_name (string) : (string) An optional parameter. Name of the OCA group (oca_type = strategy.oca.reduce) the profit target, the stop loss / the trailing stop orders belong to. If the name is not specified, it will be generated automatically.
comment (string) : (string) Additional notes on the order. If specified, displays near the order marker on the chart. Optional. The default is na.
comment_profit (string) : (string) Additional notes on the order if the exit was triggered by crossing `profit` or `limit` specifically. If specified, supercedes the `comment` parameter and displays near the order marker on the chart. Optional. The default is na.
comment_loss (string) : (string) Additional notes on the order if the exit was triggered by crossing `stop` or `loss` specifically. If specified, supercedes the `comment` parameter and displays near the order marker on the chart. Optional. The default is na.
comment_trailing (string) : (string) Additional notes on the order if the exit was triggered by crossing `trail_offset` specifically. If specified, supercedes the `comment` parameter and displays near the order marker on the chart. Optional. The default is na.
alert_message (string) : (string) Text that will replace the '{{strategy.order.alert_message}}' placeholder when one is used in the "Message" field of the "Create Alert" dialog. Optional. The default is na.
alert_profit (string) : (string) Text that will replace the '{{strategy.order.alert_message}}' placeholder when one is used in the "Message" field of the "Create Alert" dialog. Only replaces the text if the exit was triggered by crossing `profit` or `limit` specifically. Optional. The default is na.
alert_loss (string) : (string) Text that will replace the '{{strategy.order.alert_message}}' placeholder when one is used in the "Message" field of the "Create Alert" dialog. Only replaces the text if the exit was triggered by crossing `stop` or `loss` specifically. Optional. The default is na.
alert_trailing (string) : (string) Text that will replace the '{{strategy.order.alert_message}}' placeholder when one is used in the "Message" field of the "Create Alert" dialog. Only replaces the text if the exit was triggered by crossing `trail_offset` specifically. Optional. The default is na.
when (bool) : (bool) An optional parmeter. Condition, deprecated.
Returns: (void)
percent_to_ticks(percent, from)
Converts a percentage of the supplied price or the average entry price to ticks.
Parameters:
percent (float) : (float) The percentage of supplied price to convert to ticks. 50 is 50% of the entry price.
from (float) : (float) A price that can be used to calculate from. Optional. The default value is `strategy.position_avg_price`.
Returns: (float) A value in ticks.
percent_to_price(percent, from)
Converts a percentage of the supplied price or the average entry price to a price.
Parameters:
percent (float) : (float) The percentage of the supplied price to convert to price. 50 is 50% of the supplied price.
from (float) : (float) A price that can be used to calculate from. Optional. The default value is `strategy.position_avg_price`.
Returns: (float) A value in the symbol's quote currency (USD for BTCUSD).
bot
Fields:
password (series__string)
start_time (series__integer)
end_time (series__integer)
leverage (series__integer)
initial_capital (series__float)
default_qty_type (series__string)
default_qty_value (series__float)
margin_mode (series__string)
contract_size (series__float)
kis_number (series__integer)
entry_percent (series__float)
close_percent (series__float)
exit_percent (series__float)
log_table (series__table)
fixed_qty (series__float)
fixed_cash (series__float)
real (series__bool)
auto_alert_message (series__bool)
hide_trade_line (series__bool)
Channels With NVI Strategy [TradeDots]The "Channels With NVI Strategy" is a trading strategy that identifies oversold market instances during a bullish trading market. Specifically, the strategy integrates two principal indicators to deliver profitable opportunities, anticipating potential uptrends.
2 MAIN COMPONENTS
1. Channel Indicators: This strategy gives users the flexibility to choose between Bollinger Band Channels or Keltner Channels. This selection can be made straight from the settings, allowing the traders to adjust the tool according to their preferences and strategies.
2. Negative Volume Indicator (NVI): An indicator that calculates today's price rate of change, but only when today's trading volume is less than the previous day's. This functionality enables users to detect potential shifts in the trading volume with time and price.
ENTRY CONDITION
First, the assets price must drop below the lower band of the channel indicator.
Second, NVI must ascend above the exponential moving average line, signifying a possible flood of 'smart money' (large institutional investors or savvy traders), indicating an imminent price rally.
EXIT CONDITION
Exit conditions can be customized based on individual trading styles and risk tolerance levels. Traders can define their ideal take profit or stop loss percentages.
Moreover, the strategy also employs an NVI-based exit policy. Specifically, if the NVI dips under the exponential moving average – suggestive of a fading trading momentum, the strategy grants an exit call.
RISK DISCLAIMER
Trading entails substantial risk, and most day traders incur losses. All content, tools, scripts, articles, and education provided by TradeDots serve purely informational and educational purposes. Past performances are not definitive predictors of future results.
AdaptivePNLLibrary "Adaptive Profit And Loss"
Provide Take profit and Stop loss values depending on source.
TakeProfitPriceTypes()
Provides supported Take profit sources
Returns: Supported Take profit sources
StopLossPriceTypes()
Provides supported Take profit sources
Returns: Supported Take profit sources
Price(type)
Get price value by selected price type
Parameters:
type (string) : price type from @TakeProfitPriceTypes() or @StopLossPriceTypes()
Returns: Required price value.
LinearProfit(initPerc, stepPerc)
Lineary changed profit
Parameters:
initPerc (float) : Initial profit value in percent unit
stepPerc (float) : Amount of change per every bar since last entry. Posiitive value will decrease profit in time.
Returns: Profit value lineary increased/decreased since last entry. If there is no opened trade, value is NaN
AdaptedProfit(initPerc, stepPerc, source)
Profit adapted to lowest/highest value of given source and lineary changes after it
Parameters:
initPerc (float) : Initial profit value in percent unit
stepPerc (float) : Amount of change per every bar since last entry. Posiitive value will decrease profit in time.
source (float) : Source according to is profit adapted. If it reach high, profit is increased for long positions, same for low and short positions.
Returns: Profit value lineary increased/decreased and adjusted since last entry. If there is no active trade, value is NaN
LinearStopLoss(initPerc, stepPerc)
Lineary changed stop loss
Parameters:
initPerc (float) : Initial stop loss value in percent unit
stepPerc (float) : Amount of change per every bar since last entry. Posiitive value will increase stop loss in time.
Returns: Stop loss value lineary increased/decreased since last entry. If there is no opened trade, value is NaN
AdaptedStopLoss(initPerc, stepPerc, source)
Stop loss adapted to highest/lowest value of given source and lineary changes after it
Parameters:
initPerc (float) : Initial stop loss value in percent unit
stepPerc (float) : Amount of change per every bar since last entry. Posiitive value will increase stop loss in time.
source (float) : Source according to is stop loss adapted. If it reach high, stop loss is increased for long positions, same for low and short positions.
Returns: Stop loss value lineary increased/decreased and adjusted since last entry. If there is no active trade, value is NaN
Relative Strength Index(RSI)- Range (60-40)Custom RSI Indicator:
The Custom RSI Indicator is a technical analysis tool designed to assess the momentum of a financial instrument's price movements within a specified range. Unlike the traditional RSI, which typically operates within a range of 0 to 100, this customized version focuses on a narrower spectrum between 40 and 60, providing clearer signals for traders.
Key Features:
Bullish and Bearish Zones: The indicator delineates between bullish and bearish sentiment. When the RSI value climbs above 60, it signals bullish momentum, indicating potential uptrends in the price. Conversely, when the RSI dips below 40, it suggests bearish sentiment, signaling potential downtrends.
Overbought and Oversold Conditions: Additionally, the Custom RSI Indicator identifies extreme market conditions. When the RSI surpasses 80 , it denotes overbought territory, suggesting that the asset may be overvalued and prone to a reversal or correction. Conversely, when the RSI falls below 30 , it indicates oversold conditions, suggesting that the asset may be undervalued and ripe for a potential rebound.
Default RSI Comparison: The Custom RSI Indicator can be compared against the traditional RSI for added context. While the customized range provides more precise signals within the 60-40 spectrum, referencing the default RSI can offer broader insights into market dynamics.
Usage:
Trend Identification: Traders can utilize the Custom RSI Indicator to identify potential trend reversals or continuations based on shifts in momentum within the specified range.
Confirmation Tool: It can serve as a confirmation tool alongside other technical indicators or price action analysis, enhancing the overall reliability of trading decisions.
Risk Management: By recognizing overbought and oversold conditions, traders can implement risk management strategies such as setting stop-loss orders or adjusting position sizes to mitigate potential losses.
Conclusion:
The Custom RSI Indicator offers traders a focused perspective on market momentum within the 60-40 range, facilitating more accurate assessments of bullish and bearish sentiment as well as identifying extreme market conditions. By incorporating this tool into their analysis, traders can make informed decisions and potentially improve their trading outcomes.
Order Blocks Indicator [TradingFinder] Lightning|CHOCH |OB | BOS🔵 Introduction
In "Price Action," an "Order Block" is essentially an area on the price chart where significant players such as institutional traders have executed their moves by placing noteworthy orders. These points often indicate areas where price either attempts to break through (resistance) or returns when it reaches there (support).
Therefore, when discussing the identification of order blocks, we typically refer to finding points where the price has stalled for a while and has accumulated strength before making a significant move in one direction.
Essentially, order blocks assist traders in understanding where large players with "smart money" have likely placed their bulk orders in the market. Traders use these order blocks as part of their overall analysis to identify probable levels where price may change direction.
This version of the order block indicator is designed for traders, adding many indicators to their charts. The minimal design helps minimize disruptions to user focus.
🔵 Identification of Order Blocks
To identify order blocks, first, a "Level Break" must occur. To identify a "Demand Zone," a "High Level Break" is required, and to identify a "Supply Zone," a "Low Level Break" is needed.
Demand Zone :
Supply Zone :
🔵 "Change of Character" or "Market Shift Structure"
"ChoCh" or "MSS" is the "Break Level" that is contrary to the previous trend. For example, if a "Bearish Level" is established in the market and consecutive "Low Levels" are being broken, the price turns upward, breaking a "High Level." This break is called "ChoCh" or "MSS."
🔵 "Break of Structure"
"Break of Structure," or "BoS" for short, is the "Break Level" in the direction of the current trend. For example, if a "Bullish Level" is established in the market, when the price breaks a "High Level," a "BoS" has occurred.
🔵 Features
🟣 Major Level
This feature helps you easily identify major levels. These levels form when the price breaks another major level.
🟣 Refine Order Block
The "Refinement" feature allows you to adjust the width of the order block based on your strategy. There are two modes, "Aggressive" and "Defensive," in Order Block Refine. The difference between "Aggressive" and "Defensive" lies in the width of the order block. For "Risk Averse" traders, the "Defensive" mode is suitable because it provides smaller stop losses and larger reward-to-risk ratios. For "Risk Taker" traders, the "Aggressive" mode is more suitable. These traders prefer to enter trades at higher prices and this mode, where the width of the order block is greater, is more suitable for this group of individuals.
🔵 How to Use
After adding the indicator to your chart, you will see a visual similar to the image below. Green order blocks are "Demand Zones" and red order blocks are "Supply Zones." The midpoint of the order blocks also indicates 50% of it.
Refine Order Block is defaulted to On and refines the order blocks. If you want the order blocks to remain original, you should set it to Off.
Refine is defaulted to "Defensive" mode. If you want it to be in "Aggressive" mode, you should change its mode through Refine Type.
Displaying "Major Levels" is turned off by default and to display them, you should set "Show High Level" and "Show Low Level" to "Yes." You can use these lines to identify liquidity or determine stop loss and take profit levels.
ORB Algo | Flux Charts💎 GENERAL OVERVIEW
Introducing our new ORB Algo indicator! ORB stands for "Opening Range Breakout" which is a common trading strategy. The indicator can analyze the market trend in the current session and give "Buy / Sell", "Take Profit" and "Stop Loss" signals. For more information about the analyzing process of the indicator, you can read "How Does It Work ?" section of the description.
Features of the new ORB Algo indicator :
Buy & Sell Signals
Up To 3 Take Profit Signals
Stop-Loss Signals
Alerts for Buy / Sell, Take-Profit and Stop-Loss
Customizable Algoritm
Session Dashboard
Backtesting Dashboard
📌 HOW DOES IT WORK ?
This indicator works best in 1-minute timeframe. The idea is that the trend of the current session can be forecasted by analyzing the market for a while after the session starts. However, each market has it's own dynamics and the algorithm will need fine-tuning to get the best performance possible. So, we've implemented a "Backtesting Dashboard" that shows the past performance of the algorithm in the current ticker with your current settings. Always keep in mind that past performance does not guarantee future results.
Here are the steps of the algorithm explained briefly :
1. The algorithm follows and analyzes the first 30 minutes (can be adjusted) of the session.
2. Then, algorithm checks for breakouts of the opening range's high or low.
3. If a breakout happens in a bullish or a bearish direction, the algorithm will now check for retests of the breakout. Depending on the sensitivity setting, there must be 0 / 1 / 2 / 3 failed retests for the breakout to be considered as reliable.
4. If the breakout is reliable, the algorithm will give an entry signal.
5. After the position entry, algorithm will now wait for Take-Profit or Stop-Loss zones and signal if any of them occur.
If you wonder how does the indicator find Take-Profit & Stop-Loss zones, you can check the "Settings" section of the description.
🚩UNIQUENESS
While there are indicators that show the opening range of the session, they come short with features like indicating breakouts, entries, and Take-Profit & Stop-Loss zones. We are also aware of that different stock markets have different dynamics, and tuning the algorithm for different markets is really important for better results, so we decided to make the algorithm fully customizable. Besides all that, our indicator contains a detailed backtesting dashboard, so you can see past performance of the algorithm in the current ticker. While past performance does not yield any guarantee for future results, we believe that a backtesting dashboard is necessary for tuning the algorithm. Another strength of this indicator is that there are multiple options for detection of Take-Profit and Stop-Loss zones, which the trader can select one of their liking.
⚙️SETTINGS
Keep in mind that best chart timeframe for this indicator to work is the 1-minute timeframe.
TP = Take-Profit
SL = Stop-Loss
EMA = Exponential Moving Average
OR = Opening Range
ATR = Average True Range
1. Algorithm
ORB Timeframe -> This setting determines the timeframe that the algorithm will analyze the market after a new session begins before giving any signals. It's important to experiment with this setting and find the best option that suits the current ticker for the best performance. More volatile stocks will often require this setting to be larger, while more stabilized stocks may have this setting shorter.
Sensitivity -> This setting determines how much failed retests are needed to take a position entry. Higher senstivity means that less retests are needed to consider the breakout as reliable. If you think that the current ticker makes strong movements in a bullish & bearish direction after a breakout, you should set this setting higher. If you think the opposite, meaning that the ticker does not decide the trend right after a breakout, this setting show be lower.
(High = 0 Retests, Medium = 1 Retest, Low = 2 Retests, Lowest = 3 Retests)
Breakout Condition -> The condition for the algorithm to detect breakouts.
Close = Bar needs to close higher than the OR High Line in a bullish breakout, or lower than the OR Low Line in a bearish breakout. EMA = The EMA of the bar must be higher / lower than OR Lines instead of the close price.
TP Method -> The method for the algorithm to use when determining TP zones.
Dynamic = This TP method essentially tries to find the bar that price starts declining the current trend and going to the other direction, and puts a TP zone there. To achieve this, it uses an EMA line, and when the close price of a bar crosses the EMA line, It's a TP spot.
ATR = In this TP method, instead of a dynamic approach the TP zones are pre-determined using the ATR of the entry bar. This option is generally for traders who just want to know their TP spots beforehand while trading. Selecting this option will also show TP zones at the ORB Dashboard.
"Dynamic" option generally performs better, while the "ATR" method is safer to use.
EMA Length -> This setting determines the length of the EMA line used in "Dynamic TP method" and "EMA Breakout Condition". This is completely up to the trader's choice, though the default option should generally perform well. You might want to experiment with this setting and find the optimal length for the current ticker.
Stop-Loss -> Algorithm will place the Stop-Loss zone using setting.
Safer = The SL zone will be placed closer to the OR High for a bullish entry, and closer to the OR Low for a bearish entry.
Balanced = The SL zone will be placed in the center of OR High & OR Low
Risky = The SL zone will be placed closer to the OR Low for a bullish entry, and closer to the OR High for a bearish entry.
Adaptive SL -> This option only takes effect if the first TP zone is hit.
Enabled = After the 1st TP zone is hit, the SL zone will be moved to the entry price, essentially making the position risk-free.
Disabled = The SL zone will never change.
2. ORB Dashboard
ORB Dashboard shows the information about the current session.
3. ORB Backtesting
ORB Backtesting Dashboard allows you to see past performance of the algorithm in the current ticker with current settings.
Total amount of days that can be backtested depends on your TV subscription.
Backtesting Exit Ratios -> You can select how much of percent your entry will be closed at any TP zone while backtesting. For example, %90, %5, %5 means that %90 of the position will be closed at the first TP zone, %5 of it will be closed at the 2nd TP zone, and %5 of it will be closed at the last TP zone.
Intraday FIB ScalpingThe Intraday Fibonacci Levels Indicator is a powerful tool designed to enhance trading decisions in intraday markets. Leveraging the dynamic nature of Fibonacci retracement levels, this indicator utilizes the high and low prices observed within the first 15 minutes of the trading session to plot key levels and establish potential entry and exit zones.
Key Features:
Automatic Calculation: The indicator swiftly calculates Fibonacci retracement levels based on the highest high and lowest low recorded during the initial 15 minutes of the trading day. This ensures a quick and accurate representation of potential support and resistance levels.
Zone Marking for Precision: The indicator marks specific zones on the chart, providing traders with clear visual cues for potential entry and exit points. These zones are strategically aligned with Fibonacci levels, offering a systematic approach to decision-making.
User-Friendly Interface: With a user-friendly interface, the Intraday Fibonacci Levels Indicator is suitable for both novice and experienced traders. The intuitive design allows for easy interpretation of signals and levels.
By harnessing the power of Fibonacci retracement levels and incorporating them into an intraday context, this indicator empowers traders with a systematic and data-driven approach to decision-making. Whether identifying entry points, setting stop losses, or planning exit strategies, the Intraday Fibonacci Levels Indicator serves as a valuable ally in navigating the complexities of intraday trading.
How to Trade using these Levels?
With this indicator, you can see all the levels between whole number and its corresponding 0.272 were highlighted. That is where we need to look for intraday trade entry. If any of the level broken on either side and the bar closes below ore above the highlighted area, we should enter the trade in that direction with immediate next FIB level as TP1 and subsequent level as TP2. And, an opposite directional close above or below the highlighted level will be considered as stop loss exit.
We prefer to trade in 3 minutes or 5 minutes timeframe for intraday trading.
How we plot the levels?
We are incorporating ORB into Fibonacci to plot intraday trading levels. We use high and low of first 15 minutes candle of each new trading session to arrive the levels for that session.
When market is trading above or below initially plotted levels, user can extend the levels by enabling extentions provided in user settings
ATR Based Stoploss - TakeProfit [CharmyDexter]
This script combines the power of Average True Range (ATR) and a Moving Average (MA) to dynamically set stop-loss and take-profit levels. It introduces a volatility surge condition and includes a risk management table for comprehensive trade insights.
1) **Originality:**
- This script is original in its approach to combining Average True Range (ATR) with a Moving Average (MA) to create a dynamic stop-loss and take-profit strategy. The addition of a volatility surge condition and the inclusion of a risk management table further contribute to its uniqueness.
2) **Functionality:**
- The script aims to provide traders with a dynamic stop-loss and take-profit strategy based on ATR, incorporating a volatility surge condition and a moving average. The risk management table displays crucial information, including the fund size, potential profit/loss, ATR values, and risk.
3) **Operation:**
- The script uses ATR to calculate volatility, identifying surges in volatility. It adjusts the stop-loss and take-profit levels based on the average of ATR during these surge periods. The moving average acts as a trend indicator, and the script dynamically adjusts stop-loss and take-profit levels accordingly.
4) **Usage:**
- Traders can use this script by applying it to their preferred financial instrument's chart. The script automatically plots the moving average and dynamically adjusts stop-loss and take-profit levels based on ATR and volatility surges. Users can observe the levels on the chart for potential trade management.
5) **Concepts:**
- The script employs concepts of ATR for volatility, moving average for trend identification, and a dynamic adjustment mechanism during volatility surges. Risk management is incorporated by calculating potential profit/loss percentages based on user-defined risk.
6) **Mashup Explanation:**
- The script combines ATR, moving average, and volatility conditions to create a comprehensive strategy. ATR determines the market's volatility, the moving average serves as a trend indicator, and volatility surges trigger dynamic adjustments to stop-loss and take-profit levels. The risk management table enhances the script's utility.
7) **Line Descriptions:**
- Blue Line (Moving Average): Indicates the trend direction.
- Lime Line (Long Take Profit): Represents the level for taking profit in a long position.
- Maroon Line (Short Take Profit): Represents the level for taking profit in a short position.
- Fuchsia Line (Short Stop Loss): Represents the level for setting a stop loss in a short position.
- Orange Line (Long Stop Loss): Represents the level for setting a stop loss in a long position.
8) **Line Usage:**
- Use the blue line for trend identification.
- When taking long positions, the close should be above the blue line.
- For long positions, the lime line is a potential take-profit level, and the orange line is a potential stop-loss level.
- For short positions, the maroon line is a potential take-profit level, and the fuchsia line is a potential stop-loss level.
- The risk management table provides insights into fund size, potential profit/loss, ATR values, and risk.
Note: The profit/loss calculations in this script may not be entirely accurate due to factors like market execution. Market execution may not always occur at the exact levels specified by the script due to slippage or delays in order processing. This can impact the realized profit or loss compared to the calculated levels.
It is crucial to note that this ATR Based Stop-loss - Take-Profit indicator is merely one tool among many that traders can employ to establish trading targets. Additional technical indicators are essential for taking trades and making informed decisions.
Commented-out sections for alerts and shape plotting are provided, allowing for visual and auditory notifications if desired.
It's crucial for traders to be aware of these factors and use the script as a tool within a broader trading strategy. Additionally, regular monitoring and adjustments based on real-time market conditions are recommended to enhance the accuracy of profit/loss assessments.
Breakout Detector (Previous MTF High Low Levels) [LuxAlgo]The Breakout Detector (Previous MTF High Low Levels) indicator highlights breakouts of previous high/low levels from a higher timeframe.
The indicator is able to: display take-profit/stop-loss levels based on a user selected Win/Loss ratio, detect false breakouts, and display a dashboard with various useful statistics.
Do note that previous high/low levels are subject to backpainting, that is they are drawn retrospectively in their corresponding location. Other elements in the script are not subject to backpainting.
🔶 USAGE
Breakouts occur when the price closes above a previous Higher Timeframe (HTF) High or below a previous HTF Low.
On the advent of a breakout, the closing price acts as an entry level at which a Take Profit (TP) and Stop Loss (SL) are placed. When a TP or SL level is reached, the SL/TP box border is highlighted.
When there is a breakout in the opposite direction of an active breakout, previous breakout levels stop being updated. Not reaching an SL/TP level will result in a partial loss/win,
which will result in the box being highlighted with a dotted border (default). This can also be set as a dashed or solid border.
Detection of False Breakouts (default on) can be helpful to avoid false positives, these can also be indicative of potential trend reversals.
This indicator contains visualization when a new HTF interval begins (thick vertical grey line) and a dashboard for reviewing the breakout results (both defaults enabled; and can be disabled).
As seen in the example above, the active, open breakout is colored green/red.
You can enable the setting ' Cancel TP/SL at the end of HTF ', which will stop updating previous TP/SL levels on the occurrence of a new HTF interval.
🔶 DETAILS
🔹 Principles
Every time a new timeframe period starts, the previous high and low are detected of the higher timeframe. On that bar only there won't be a breakout detection.
A breakout is confirmed when the close price breaks the previous HTF high/low
A breakout in the same direction as the active breakout is ignored.
A breakout in the opposite direction stops previous breakout levels from being updated.
Take Profit/Stop Loss, partially or not, will be highlighted in an easily interpretable manner.
🔹 Set Higher Timeframe
There are 2 options for choosing a higher timeframe:
• Choose a specific higher timeframe (in this example, Weekly higher TF on a 4h chart)
• Choose a multiple of the current timeframe (in this example, 75 minutes TF on a 15 min chart - 15 x 5)
Do mind, that when using this option, non-standard TFs can give less desired timeframe changes.
🔹 Setting Win/Loss Levels
The Stop Loss (SL) / Take Profit (TP) setting has 2 options:
W%:L% : A fixed percentage is chosen, for TP and SL.
W:L : In this case L (Loss-part) is set through Loss Settings , W (Win-part) is calculated by multiplying L , for example W : L = 2 : 1, W will be twice as large as the L .
🔹 Loss Settings
The last drawing at the right is still active (colored green/red)
The Loss part can be:
A multiple of the Average True Range (ATR) of the last 200 bars.
A multiple of the Range Cumulative Mean (RCM).
The Latest Swing (with Length setting)
Range Cumulative Mean is the sum of the Candle Range (high - low) divided by its bar index.
🔹 False Breakouts
A False Breakout is confirmed when the price of the bar immediately after the breakout bar returns above/below the breakout level.
🔹 Dashboard
🔶 ALERTS
This publication provides several alerts
Bullish/Bearish Breakout: A new Breakout.
Bullish/Bearish False Breakout: False Breakout detected, 1 bar after the Breakout.
Bullish/Bearish TP: When the TP/profit level has been reached.
Bullish/Bearish Fail: When the SL/stop-loss level has been reached.
Note that when a new Breakout causes the previous Breakout to stop being updated, only an alert is provided of the new Breakout.
🔶 SETTINGS
🔹 Set Higher Timeframe
Option : HTF/Mult
HTF : When HTF is chosen as Option , set the Higher Timeframe (higher than current TF)
Mult : When Mult is chosen as Option , set the multiple of current TF (for example 3, curr. TF 15min -> 45min)
🔹 Set Win/Loss Level
SL/TP : W:L or W%:L%: Set the Win/Loss Ratio (Take Profit/Stop Loss)
• W : L : Set the Ratio of Win (TP) against Loss (SL) . The L level is set at Loss Settings
• W% : L% : Set a fixed percentage of breakout price as SL/TP
🔹 Loss Settings
When W : L is chosen as SL/TP Option, this sets the Loss part (L)
Base :
• RCM : Range Cumulative Mean
• ATR : Average True Range of last 200 bars
• Last Swing : Last Swing Low when bullish breakout, last Swing High when bearish breakout
Multiple : x times RCM/ATR
Swing Length : Sets the 'left' period ('right' period is always 1)
Colours : colour of TP/SL box and border
Borders : Style border when breakout levels stop being updated, but TP/SL is not reached. (Default dotted dot , other option is dashed dsh or solid sol )
🔹 Extra
Show Timeframe Change : Show a grey vertical line when a new Higher Timeframe interval begins
Detect False Outbreak
Cancel TP/SL at end of HTF
🔹 Show Dashboard
Location: Location of the dashboard (Top Right or Bottom Right/Left)
Size: Text size (Tiny, Small, Normal)
See USAGE/DETAILS for more information
ATH Drawdown Indicator by Atilla YurtsevenThe ATH (All-Time High) Drawdown Indicator, developed by Atilla Yurtseven, is an essential tool for traders and investors who seek to understand the current price position in relation to historical peaks. This indicator is especially useful in volatile markets like cryptocurrencies and stocks, offering insights into potential buy or sell opportunities based on historical price action.
This indicator is suitable for long-term investors. It shows the average value loss of a price. However, it's important to remember that this indicator only displays statistics based on past price movements. The price of a stock can remain cheap for many years.
1. Utility of the Indicator:
The ATH Drawdown Indicator provides a clear view of how far the current price is from its all-time high. This is particularly beneficial in assessing the magnitude of a pullback or retracement from peak levels. By understanding these levels, traders can gauge market sentiment and make informed decisions about entry and exit points.
2. Risk Management:
This indicator aids in risk management by highlighting significant drawdowns from the ATH. Traders can use this information to adjust their position sizes or set stop-loss orders more effectively. For instance, entering trades when the price is significantly below the ATH could indicate a higher potential for recovery, while a minimal drawdown from the ATH may suggest caution due to potential overvaluation.
3. Indicator Functionality:
The indicator calculates the percentage drawdown from the ATH for each trading period. It can display this data either as a line graph or overlaid on candles, based on user preference. Horizontal lines at -25%, -50%, -75%, and -100% drawdown levels offer quick visual cues for significant price levels. The color-coding of candles further aids in visualizing bullish or bearish trends in the context of ATH drawdowns.
4. ATH Level Indicator (0 Level):
A unique feature of this indicator is the 0 level, which signifies that the price is currently at its all-time high. This level is a critical reference point for understanding the market's peak performance.
5. Mean Line Indicator:
Additionally, this indicator includes a 'Mean Line', representing the average percentage drawdown from the ATH. This average is calculated over more than a thousand past bars, leveraging the law of large numbers to provide a reliable mean value. This mean line is instrumental in understanding the typical market behavior in relation to the ATH.
Disclaimer:
Please note that this ATH Drawdown Indicator by Atilla Yurtseven is provided as an open-source tool for educational purposes only. It should not be construed as investment advice. Users should conduct their own research and consult a financial advisor before making any investment decisions. The creator of this indicator bears no responsibility for any trading losses incurred using this tool.
Please remember to follow and comment!
Trade smart, stay safe
Atilla Yurtseven
Price - TP/SLPrices
With this library, you can easily manage prices such as stop loss, take profit, calculate differences, prices from a lower timeframe, and get the order size and commission from the strategy properties tab.
Note that the order size and commission only work with strategies!
Usage
Take Profit & Stop Loss
var bool open_trade = false
open_trade := strategy.position_size != 0
bars_since_opened = strategy.opentrades > 0 ? bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) + 1 : 0
// ############################################################
// # TAKE PROFIT
// ############################################################
take_profit = input.string(title='Take Profit', defval='OFF', options= , group='TAKE PROFIT')
take_profit_percentage = input.float(title='Take Profit (% or X)', defval=0, minval=0, step=0.1, group='TAKE PROFIT')
take_profit_bars = input.int(title='Take Profit Bars', defval=0, minval=0, step=1, group='TAKE PROFIT')
take_profit_indication = input.string(title='Take Profit Plot', defval='OFF', options= , group='TAKE PROFIT')
take_profit_color = input.color(title='Take Profit Color', defval=#26A69A, group='TAKE PROFIT')
take_profit_price = math.round_to_mintick(strategy.position_avg_price)
take_profit_plot = plot(take_profit == 'ON' and take_profit_indication == 'ON' and open_trade and bars_since_opened >= take_profit_bars and take_profit_percentage > 0 and nz(take_profit_price) ? take_profit_price : na, color=take_profit_color, style=plot.style_linebr, linewidth=1, title='TP', offset=0)
// ############################################################
// # STOP LOSS
// ############################################################
stop_loss = input.string(title='Stop Loss', defval='OFF', options= , group='STOP LOSS')
stop_loss_percentage = input.float(title='Stop Loss (% or X)', defval=0, minval=0, step=0.1, group='STOP LOSS')
stop_loss_bars = input.int(title='Stop Loss Bars', defval=0, minval=0, step=1, group='STOP LOSS')
stop_loss_indication = input.string(title='Stop Loss Plot', defval='OFF', options= , group='STOP LOSS')
stop_loss_color = input.color(title='Stop Loss Color', defval=#FF5252, group='STOP LOSS')
stop_loss_price = math.round_to_mintick(strategy.position_avg_price)
stop_loss_plot = plot(stop_loss == 'ON' and stop_loss_indication == 'ON' and open_trade and bars_since_opened >= stop_loss_bars and stop_loss_percentage > 0 and nz(stop_loss_price) ? stop_loss_price : na, color=stop_loss_color, style=plot.style_linebr, linewidth=1, title='SL', offset=0)
// ############################################################
// # STRATEGY
// ############################################################
var limit_price = 0.0
var stop_price = 0.0
limit_price := take_profit == 'ON' ? price.take_profit_price(take_profit_price, take_profit_percentage, take_profit_bars, bars_since_opened) : na
stop_price := stop_loss == 'ON' ? price.stop_loss_price(stop_loss_price, stop_loss_percentage, stop_loss_bars, bars_since_opened) : na
strategy.exit(id='TP/SL', comment='TP/SL', from_entry='LONG', limit=limit_price, stop=stop_price)
Calculate difference between 2 prices:
price.difference(close, close )
Get last price from lower timeframe:
price.ltf(request.security_lower_tf(ticker, '1', close))
Get the order size from the properties tab:
price.order_size()
Get the commission from the properties tab.
price.commission()